package com.hongdee.base.imp.service;

import com.hongdee.base.entity.BaseEntity;
import com.hongdee.base.imp.entity.TExcelScheme;
import com.hongdee.base.imp.vo.ExcelSchemeVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 名  称:IExcelSchemeService
 * 类  型: interface
 * 描  述: 用一句话描述类的作用
 * 路  径:com.hongdee.base.imp.service
 * 作  者:My
 * 日  期:2017/2/15 11:48
 */
public interface IExcelSchemeService {

    public boolean changeStatus(String id, String status);

    /**
     * 保存模板实体
     *
     * @param tes
     */
    void saveOrUpdate(TExcelScheme tes) throws Exception;

    /**
     * 根据方案 ID，查询方案属性 Vo
     *
     * @param schemeId
     * @return
     * @throws Exception
     */
    ExcelSchemeVo loadExcelSchemeInfo(String schemeId) throws Exception;


    /**
     * 分页查询方案记录
     *
     * @param start
     * @param limit
     * @param templateName
     * @return
     */
    Map page(String start, String limit, String templateName,String brand) throws Exception;

    /**
     * 上传文件
     * @param file
     * @param path
     * @param schemeId
     * @throws Exception
     */
    public void uploadTemp(MultipartFile file,String path,String schemeId) throws Exception;

    /**
     * 下载模板获得详情信息
     * @param schemeId
     * @return
     * @throws Exception
     */
    public Map downLoadInfoBySchemeId(String schemeId) throws Exception;

    /**
    * 更新记录状态
     *
     * @param id
     * @param s
     * @throws Exception
     */
    void update(String id, String s) throws Exception;

    void saveImpObj(BaseEntity be) throws Exception;

    /***
     * 解析 Excel
     * @param file
     * @param scheme
     * @return
     */
    Map parseExcel(MultipartFile file, ExcelSchemeVo scheme, String uid,String path) throws Exception;

    /**
     * 下拉选择导入方案模板
     *
     * @return
     */
    List combo(String uid) throws Exception;
}
